{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pregnants</th>\n",
       "      <th>Plasma_glucose_concentration</th>\n",
       "      <th>blood_pressure</th>\n",
       "      <th>Triceps_skin_fold_thickness</th>\n",
       "      <th>serum_insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>Diabetes_pedigree_function</th>\n",
       "      <th>Age</th>\n",
       "      <th>Target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.639947</td>\n",
       "      <td>0.866045</td>\n",
       "      <td>-0.031990</td>\n",
       "      <td>0.670643</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>0.166619</td>\n",
       "      <td>0.468492</td>\n",
       "      <td>1.425995</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.844885</td>\n",
       "      <td>-1.205066</td>\n",
       "      <td>-0.528319</td>\n",
       "      <td>-0.012301</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>-0.852200</td>\n",
       "      <td>-0.365061</td>\n",
       "      <td>-0.190672</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.233880</td>\n",
       "      <td>2.016662</td>\n",
       "      <td>-0.693761</td>\n",
       "      <td>-0.012301</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>-1.332500</td>\n",
       "      <td>0.604397</td>\n",
       "      <td>-0.105584</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-0.844885</td>\n",
       "      <td>-1.073567</td>\n",
       "      <td>-0.528319</td>\n",
       "      <td>-0.695245</td>\n",
       "      <td>-0.540642</td>\n",
       "      <td>-0.633881</td>\n",
       "      <td>-0.920763</td>\n",
       "      <td>-1.041549</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-1.141852</td>\n",
       "      <td>0.504422</td>\n",
       "      <td>-2.679076</td>\n",
       "      <td>0.670643</td>\n",
       "      <td>0.316566</td>\n",
       "      <td>1.549303</td>\n",
       "      <td>5.484909</td>\n",
       "      <td>-0.020496</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   pregnants  Plasma_glucose_concentration  blood_pressure  \\\n",
       "0   0.639947                      0.866045       -0.031990   \n",
       "1  -0.844885                     -1.205066       -0.528319   \n",
       "2   1.233880                      2.016662       -0.693761   \n",
       "3  -0.844885                     -1.073567       -0.528319   \n",
       "4  -1.141852                      0.504422       -2.679076   \n",
       "\n",
       "   Triceps_skin_fold_thickness  serum_insulin       BMI  \\\n",
       "0                     0.670643      -0.181541  0.166619   \n",
       "1                    -0.012301      -0.181541 -0.852200   \n",
       "2                    -0.012301      -0.181541 -1.332500   \n",
       "3                    -0.695245      -0.540642 -0.633881   \n",
       "4                     0.670643       0.316566  1.549303   \n",
       "\n",
       "   Diabetes_pedigree_function       Age  Target  \n",
       "0                    0.468492  1.425995       1  \n",
       "1                   -0.365061 -0.190672       0  \n",
       "2                    0.604397 -0.105584       1  \n",
       "3                   -0.920763 -1.041549       0  \n",
       "4                    5.484909 -0.020496       1  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sn\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "%matplotlib inline\n",
    "\n",
    "params = {'legend.fontsize': 'x-large',\n",
    "          'figure.figsize': (30, 10),\n",
    "          'axes.labelsize': 'x-large',\n",
    "          'axes.titlesize':'x-large',\n",
    "          'xtick.labelsize':'x-large',\n",
    "          'ytick.labelsize':'x-large'}\n",
    "sn.set_style('whitegrid')\n",
    "sn.set_context('talk')\n",
    "\n",
    "plt.rcParams.update(params)\n",
    "pd.options.display.max_colwidth = 600\n",
    "from sklearn import datasets, linear_model\n",
    "data = pd.read_csv('./FE_pima-indians-diabetes.csv')\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 768 entries, 0 to 767\n",
      "Data columns (total 9 columns):\n",
      "pregnants                       768 non-null float64\n",
      "Plasma_glucose_concentration    768 non-null float64\n",
      "blood_pressure                  768 non-null float64\n",
      "Triceps_skin_fold_thickness     768 non-null float64\n",
      "serum_insulin                   768 non-null float64\n",
      "BMI                             768 non-null float64\n",
      "Diabetes_pedigree_function      768 non-null float64\n",
      "Age                             768 non-null float64\n",
      "Target                          768 non-null int64\n",
      "dtypes: float64(8), int64(1)\n",
      "memory usage: 54.1 KB\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(768, 9)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.info()\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Target\n",
       "0       1\n",
       "1       0\n",
       "2       1\n",
       "3       0\n",
       "4       1"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y = data[['Target']]\n",
    "y.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pregnants</th>\n",
       "      <th>Plasma_glucose_concentration</th>\n",
       "      <th>blood_pressure</th>\n",
       "      <th>Triceps_skin_fold_thickness</th>\n",
       "      <th>serum_insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>Diabetes_pedigree_function</th>\n",
       "      <th>Age</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.639947</td>\n",
       "      <td>0.866045</td>\n",
       "      <td>-0.031990</td>\n",
       "      <td>0.670643</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>0.166619</td>\n",
       "      <td>0.468492</td>\n",
       "      <td>1.425995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.844885</td>\n",
       "      <td>-1.205066</td>\n",
       "      <td>-0.528319</td>\n",
       "      <td>-0.012301</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>-0.852200</td>\n",
       "      <td>-0.365061</td>\n",
       "      <td>-0.190672</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.233880</td>\n",
       "      <td>2.016662</td>\n",
       "      <td>-0.693761</td>\n",
       "      <td>-0.012301</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>-1.332500</td>\n",
       "      <td>0.604397</td>\n",
       "      <td>-0.105584</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-0.844885</td>\n",
       "      <td>-1.073567</td>\n",
       "      <td>-0.528319</td>\n",
       "      <td>-0.695245</td>\n",
       "      <td>-0.540642</td>\n",
       "      <td>-0.633881</td>\n",
       "      <td>-0.920763</td>\n",
       "      <td>-1.041549</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-1.141852</td>\n",
       "      <td>0.504422</td>\n",
       "      <td>-2.679076</td>\n",
       "      <td>0.670643</td>\n",
       "      <td>0.316566</td>\n",
       "      <td>1.549303</td>\n",
       "      <td>5.484909</td>\n",
       "      <td>-0.020496</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   pregnants  Plasma_glucose_concentration  blood_pressure  \\\n",
       "0   0.639947                      0.866045       -0.031990   \n",
       "1  -0.844885                     -1.205066       -0.528319   \n",
       "2   1.233880                      2.016662       -0.693761   \n",
       "3  -0.844885                     -1.073567       -0.528319   \n",
       "4  -1.141852                      0.504422       -2.679076   \n",
       "\n",
       "   Triceps_skin_fold_thickness  serum_insulin       BMI  \\\n",
       "0                     0.670643      -0.181541  0.166619   \n",
       "1                    -0.012301      -0.181541 -0.852200   \n",
       "2                    -0.012301      -0.181541 -1.332500   \n",
       "3                    -0.695245      -0.540642 -0.633881   \n",
       "4                     0.670643       0.316566  1.549303   \n",
       "\n",
       "   Diabetes_pedigree_function       Age  \n",
       "0                    0.468492  1.425995  \n",
       "1                   -0.365061 -0.190672  \n",
       "2                    0.604397 -0.105584  \n",
       "3                   -0.920763 -1.041549  \n",
       "4                    5.484909 -0.020496  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = data[['pregnants','Plasma_glucose_concentration','blood_pressure',\n",
    "          'Triceps_skin_fold_thickness','serum_insulin','BMI',\n",
    "          'Diabetes_pedigree_function','Age']]\n",
    "X.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(614, 8)\n",
      "(614, 1)\n",
      "(154, 8)\n",
      "(154, 1)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1,test_size=0.2,train_size=0.8)\n",
    "print(X_train.shape)\n",
    "print(y_train.shape)\n",
    "print(X_test.shape)\n",
    "print(y_test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.model_selection import cross_val_predict\n",
    "from sklearn.metrics import precision_score #精度\n",
    "from sklearn.metrics import recall_score,f1_score #召回率,f1分数\n",
    "from sklearn.metrics import roc_curve, auc  \n",
    "from scipy import interp \n",
    "cs = np.logspace(-5,5,100) \n",
    "cv_scores = []\n",
    "test_accuracy = []\n",
    "precision_score_accuracy = []\n",
    "recall_score_accuracy = []\n",
    "f1_score_accuracy = []\n",
    "for n in cs:\n",
    "    logisticRegression = LogisticRegression( C = n,penalty = 'l2', solver = 'saga', random_state=1, max_iter=100, n_jobs = -1)\n",
    "    logisticRegression.fit( X_train, y_train )\n",
    "    y_pred = logisticRegression.predict(X_test)\n",
    "    scores = cross_val_score( logisticRegression, X_train, y_train,scoring = \"accuracy\", cv = 5, n_jobs = -1 )\n",
    "    test_scores = cross_val_score( logisticRegression, X_test, y_test,scoring = \"accuracy\", cv = 5, n_jobs = -1 )\n",
    "    cv_scores.append(scores.mean())\n",
    "    test_accuracy.append(test_scores.mean())\n",
    "    precision_score_accuracy.append(precision_score(y_true=y_test,y_pred=y_pred))\n",
    "    recall_score_accuracy.append(recall_score(y_true=y_test,y_pred=y_pred))\n",
    "    f1_score_accuracy.append(f1_score(y_true=y_test,y_pred=y_pred))\n",
    "    \n",
    "    \n",
    "    #画ROC曲线和计算AUC\n",
    "#     mean_tpr = 0.0  \n",
    "#     mean_fpr = np.linspace(0, 1, 100)  \n",
    "#     all_tpr = []\n",
    "#     fpr, tpr, thresholds = roc_curve(y_test, y_pred,pos_label = 2)\n",
    "#     mean_tpr += interp(mean_fpr, fpr, tpr)\n",
    "#     mean_tpr[0] = 0.0\n",
    "#     roc_auc = auc(fpr, tpr)  \n",
    "#     plt.plot(fpr, tpr, lw=1, label='ROC  %s (area = %0.3f)' % (logisticRegression, roc_auc)) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7f3bbf542a58>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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OhgZjUbCwsIAGDhwoBJ6txAl9URERKykSr0CJtMfe+k1butD/ds8Kz1m4sIQANx69cSplB8WRERERERExHqRkZE8+eSTZGRk4OHhwbhx47jvvvvw9fUlPT2dI0eOsGHDhiLJgUGDBhESEkJsbCz79++nS5cuJZ47PDwcgPbt29O0adMbWueHH35ITEwMrq6uvPjii/Ts2ZM6deqQm5vLuXPn2Lt3L999912FXB/A6dOnmThxItnZ2dSrV49XXnmFHj16YGdnx08//cTHH39MfHw8zz33HKtWrSqx2gxg586dXLp0iQEDBvDEE0/QuHFjLl++zJUrVyxj5s2bx2effQbAsGHDeOSRRwgICCAvL489e/bw6aefcu7cOZ599llCQ0OLVOyVdl/S09OJjY3ll19+KfG+lMVdd93F/fffT+vWralXrx7u7u7Ex8eze/du5s6dS2xsLJMnT2bFihXFEruJiYmMHTuWuLg4nJycGDt2LP3796dhw4ZkZ2cTERHBpk2byMjIKDIvOzubp59+moiICAwGA3/+858ZNmwYTZo0IT8/n1OnTrFly5YSE2oVpSzfM39/f3r37k3nzp2pX78+devWJSMjgzNnzvDtt9+yfft23nvvPdq3b8/tt99eLEbhhF6PHj148sknadOmDY6Ojpw7d45du3axYsUKy/h69erRs2dPtmzZQmhoaKlJvV27dnHx4kUAgoODK/K2SBVTUk9ERMRK5qReTa/UizmayKWoVAC62qBKL+vECTJ//hkAn9GjKz2eiIiIiIhUf7n5Ri6mZFX1MipUfU8XHO0NFX7et956i4yMDNzd3Vm8eDEtW7a0HPP09MTf358HHniAvLw8y/OdOnWiUaNGnDt3jvDw8BKTeunp6WzduhW48So9KKiaA5g8eTKjr/rZ0NfXl06dOvGXv/ylQq4PCpJl2dnZeHh4sGjRIho3bmw5NnToUDp06EBwcDCZmZn861//Yvbs2SWu+9KlSwwfPpz333/f8py3t7fl8cWLF/nkk08AeOmll5gwYUKR+QMHDqRbt24MHTqUmJgYFi1aVOQ6S7svLi4u1K1bl27dupV4X66ndevWzJs3r9jz3t7etGrVioceeogBAwZw5MgRdu3aVaxa8aOPPiIuLg4HBwe+/PJLunfvXuS4n58fvXv3Lnbfv/zySyIiIgD44IMPiiWvfH19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AweSmppa5Lnc3FzOnDnDmTNnWLlyJdOnT+e+++4rcX5GRgavvvpqsQRkdnY2ycnJREREsGHDBvbt2wfA8OHDWbJkCTExMezfv58uXbqUeN60tDQ2btwIFCSZRWoqJfVERETKKN+YT54xD6ielXo/rz5NTlY+zq4OdBt8m83jp4SGYszIwM7FBa/hw20eX0RERERERIrr0qULBw4c4K233mLNmjV07tyZL7/8ssiYwom5nJwcxo0bx+HDh/Hy8mLChAn06tWLOnXqcPnyZcLCwvjyyy8JDw/Hz8+P1157zTI3JSWFd955h/z8fNq3b8+ECRMIDAzEw8ODlJQUTp48yZYtW3B3d7fMeffdd5k6dSp/+tOfAHjnnXcYNGhQkfVdr6quMAcHB+6//3769OlDixYt8PX1pVatWly6dInNmzfzzTffcOzYMf7+978zY8aMYvMjIyN58sknycjIwMPDg3HjxnHffffh6+tLeno6R44cYcOGDcWSmYmJiYwdO5a4uDicnJwYO3Ys/fv3p2HDhmRnZxMREcGmTZvIyMgo87VYa/ny5Vy6dIlRo0bxyCOPUL9+fWJjY3F2/uODyy1btqRnz5507NiRevXq4ePjQ0pKChEREcybN49Dhw7x17/+lXXr1hWrRDSZTLz44ots316w7Ua/fv14/PHHadGiBXZ2dkRGRrJjx44iScX27dvTsmVLTp48yapVq0pN6n333XdkZ2fj6OjI4MGDK+HuiFQPSuqJiIiUUY4xx/K4ulXqxUWlcuynCwB0G3wbLu6O15lRsUxGI0khIQB4DhqEvZeXTeOLiIiIiEgNlZ8LqeerehUVq3ZDsK+4n+ns7e1xc3PDwcGhyNelmT9/PocPH8bV1ZXFixdz221/fGjU09OTl19+maZNmzJlyhQWLFjAmDFjLMmfffv2kZmZiYODA1999RWenp5/XFbt2jRu3Jh77723SDwnJyecnJyKfH2t9V1PUFAQQSVsB+Hj40Pr1q3p27cvQ4YMYePGjURFRdGsWbMi49566y0yMjJwd3dn8eLFljah5uv39/fngQceIC8vr8i8jz76iLi4OBwcHPjyyy8t7SfN/Pz86N27d7F5FenSpUu88MILRSoVva76+XzRokXF5nl7e9OsWTP69u3LmDFj2LdvH4sXL+bll18uMm716tWWhN6LL77Ic889V+S4j48P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lTp/5MiRABw9evSa7VOv1S7UXK0XHh7O8uXLAejZsyd16tS59uJFaggl9URERMrIXKnnZF91m1qXxeVz6aTEXwGgR3CLKktAJn27EADXrl1xCQyskjWIiIiIiIhI2dx+++1AQeItJCSEhIQE8vLyyMvLK1K59dRTT3HHHXeQl5fH+PHjeffdd9m/fz+JiYkkJSVx+vRp1qxZw+TJk+nTp0+RRF1oaCj33nsvH3zwAdu2beP8+fOkpqYSHR3NsmXLeP3114GC6rSuXbuWuL7Q0FAOHDhAenq6ZX1lrQpr164d/v7+ALz33nssWrSI2NhY4uPjWbduHY899hgJCQmWMSV56623cHV1JS0tjccee4w5c+Zw+vRpUlNTOX/+PJs2beK1115j+vTpRea98sor+Pn5kZuby9NPP8306dOJiIggJSWFuLg4duzYwdtvv80bb7xRZF6LFi1o164dAB9++CHLli3j8uXLXL58mQ0bNvDoo4+W2irTWg899BAAu3fv5q9//SvHjh0jKSmJX3/9lcmTJ7Nw4UKaN29e6vzBgwfTs2dPAKZPn87kyZPZs2cPiYmJJCYmcujQIWbMmHHNVpr9+/enVq1aJCUlsXv3bgBLW1YRAYeqXoCIiEh1UbhS72YWE1HQdtOjjgt1/N2uM7py5Jw9S/rWrYCq9ERERERERKqDPn360LhxY2JiYnj33Xd59913LceGDRvGtGnTgII2mV999RWTJ09m586dhISEEBISUup5zW0nzeLj4/nmm2/45ptvShxfu3Zt/v3vf+PsXPRn79GjR7N161bOnj3L448/XuTYggUL6Nat23Wv0cHBgffee49nn32W9PR03nnnnWJr/fDDD1m8eDGxsbElniMgIIC5c+cyceJEEhIS+OSTT/jkk0+KjRszZkyRr318fJg/fz7PPvss0dHRfPHFF3zxxRfF5t13333FnnvnnXcYM2YMGRkZTJ06lalTp1qO+fr6MnfuXAYNGnTd67+ecePGsXnzZiIiIggLCyvWYvSBBx6gd+/evPnmmyXOt7Oz47PPPuPll19m69atrF27lrVr1xYb5+HhUeoa3N3deeCBByxtSr28vAgKCir/RYncYpTUExERKaPqktQ7F1HQCqNxa++qq9ILWQQmEw4NGuBx371VsgYREREREREpOxcXF0JCQpg1axa7du3i4sWLZGdnlzjWy8uLuXPnsmXLFsLCwjh06BCXL1/GaDTi7e1NixYt6NatGw899BDNmjWzzBs7diwtWrTgp59+4siRI1y6dImkpCRcXFxo2rQpPXv2ZPTo0ZZ9+wrr2bMnX331FQsWLODIkSOkpKRcs41jae666y6WLl3KrFmz2Lt3LxkZGdStW5euXbvy5JNP0rZtWxYvXnzNc3Tq1Invv/+ekJAQNm3aRGRkJFlZWfj6+uLv78/999/PgAEDis0LCAggPDycZcuWsWHDBk6cOEFGRgY+Pj40bNiQoKAgBg4cWGxeu3bt+N///sfMmTP5+eefSU1NpV69evTp04fx48db9t27UW5uboSEhPDFF1+wfv16Lly4gJubG82bNyc4OJjhw4ezatWq655jzpw5bNy4kdDQUA4dOkRycjIeHh74+fnRpUuX6+6PN3z4cEtSb+DAgTg53dwdk0Rsyc5Unh0rxWqHDh0CsGz0KSJV5/jx40DB5s4i1lgasZT3dr9HgGcAYUPLviG2LeXl5vP15O3k5Rp54JnbadnFz+ZrMGZkcDKoD8a0NHwnT6buX8bZfA23Kr1+iUh1ptcwEamu9Pp184mOjgagadOmVbwSkZtfVlYWUJC0rS4OHTrEo48+CsCKFSss7UdFbibl+b+oIvJE2lNPRESkjKpDpd7F0ynk5RbsddAo0LtK1pASFoYxLQ07Z2e8Hnm4StYgIiIiIiIiItXTypUrAWjVqpUSeiJXUVJPRESkjHKMOQA42d+8bR9ifm+9WbexO7U8bL9Ok8lE4sKCvRRqDxyAg3fVJBZFREREREREpPpJTk5mzZo1ADzyyCNVvBqRm4/21BMRESmj6lCpd+5YIgCNW/tUSfz0zVvIOX0aAJ9Ro6pkDSIiIiIiIiJSfRiNRoxGIxcvXuS9994jMzMTT09PgoODq3ppIjcdJfVERETKyJzUu1kr9bIycrl0Ng2ARm1sXyFnys3l0ocfAuB29924tGlj8zWIiIiIiIiISPUyc+ZMZsyYUeS5V199FXd39ypakcjNS0k9ERGRMsrJL2i/6Wy4OSv1Yo8ngQnsHQw0bOFl8/hJixeTExUFBgP1Xn/N5vFFREREREREpPpycnKiWbNmPP300wwdOrSqlyNyU1JST0REpIxu9vab5v306jf3xMHJ3qax85KSiJ8xEwCvR/+MS6tWNo0vIiIiIiIiItXT888/z/PPP1/VyxCpFgxVvQAREZHqwlypd7O237Tsp1cFrTcvz5iJMTUVg4cHvnojLiIiIiIiIiIiUuGU1BMRESmjm7lSL/XyFVLirwDQqLWPTWNnnzpF0pIlANR97jkcfGwbX0REREREREREpCZQUk9ERKSMzEm9m7FS79zvrTedXR3wbeJh09hx//oQ8vNxbNoEn5EjbBpbRERERERERESkplBST0REpIzM7Tdvxkq9mIiC1puNAr0xGOxsFjd92zYytm8HwO/117FzuvkSniIiIiIiIiIiIrcCJfVERETK6Gat1DMZTZZKvUZtbNf60pSbS9y0fwHg2qM77n362Cy2iIiIiIiIiIhITeNQ1QuwxnfffceyZcs4duwYmZmZNGjQgKCgIJ566in8/PzKdc7Y2Fg2bdrEzz//TEREBPHx8RgMBvz8/OjSpQsjRoygXbt2FXwlIiJSHZkr9W62pN7lc+lkpecC0Ki1t83iJi1ZSs6ZM2Aw4PfGG9jZ2a5CUEREREREREREpKapFkk9o9HI66+/TlhYWJHno6Ki+Oabb1i9ejWzZ8+mY8eOVp13/fr1vPTSS5hMpmLHoqOjiY6OZuXKlYwfP56XXnrphq5BRESqP3Ol3s3WftPcetOjjguevrVsEjM/OZn4GTMA8HrkEVwCA20SV0REREREREREpKaqFu03Z82aZUno9evXj9WrV7Nr1y5mzZqFv78/SUlJTJw4kYSEBKvOm5mZiclkwt/fn4kTJ7Jo0SJ27tzJjh07+Pe//02zZs0wmUz897//ZcGCBZVxaSIiUo3crHvqmVtvNm7tbbNqufiZszCmpGBwd8f3hedtElNERERERERERKQmu+mTepcuXeLLL78EICgoiE8//ZTWrVvj4+PDfffdx/z583F1deXy5cvMmTPHqnP7+vrywQcfsHHjRl544QU6d+5M3bp18fX1pV+/fixdupSGDRsC8J///IecnJwKvz4REak+bsY99fJy87lwMhmw3X562adPk7RoEQB1J0zAoU4dm8QVERERERERERGpyf6fvTsPi7Lq/zj+ZnWDBBQhwS1JtLRcUzNTs9LUpFwqMzUzc0krTS0ztafVx578VVpmZWZu6aOoSOaGS5krKC4JuICyiAiyCCj7/P6gmQeEYRME6/O6rq5rmvucc5/7njMj8J3v91T5oN6GDRtI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IICYmBji4uKwtLTkzjvvpEOHDgwdOtRUrrA0BgwYYBp///79xMTEYG1tTcOGDenZsycvvvhioYGayvDEE0/g6OjIH3/8wbFjx4iJiSE+Ph4bGxvc3d3p3Lkzw4YNo0GDBoX2f+655+jSpQtLly5l3759REdHA7nZnx4eHjzxxBM89NBDBfq9+uqrdO3alWXLluHv709sbCzVq1enadOm9O7dm+eff55q1W6+clL16tX5z3/+w5AhQ1i7di0BAQFcvnyZrKwsateuTZMmTWjXrh29e/emRYsWpRq7Vq1arFixgkWLFrFlyxaio6OpVasWTZs2ZcCAAQwcOJD169cXO8a3337Ljh072LBhA4GBgSQmJmJvb4+Liwvt27cvtFykjY0NH3/8MU899RSrV6/myJEjxMXFUaNGDVxcXLj//vvp27dvgXVmbW3N999/z+LFi/nll1+IiIigZs2atGrVilGjRtG5c+cSZ7sWZ/z48dx111389NNPBAUFYTAYcHV1pUePHowaNcq0z2ZRyrq+jDp16oSbmxtRUVE4ODjQo0ePcrm2W83CUJpdF6XMAgMDAWjdunUlz0REQkJCgNyNmUVKasbeGfic86F/0/589JD5GuUV5dTei+xaHky1mta89J+uWFpalHms2C+/JO7rhQDUmzqFOqNGldc0pYLp80tEbmf6DBOR25U+v6oe455MjRo1quSZ/L28/fbbrF+/ngceeIBly5ZV9nSknKSlpQG5AS2Rf7revXsTFhbGCy+8wMyZM29qrLL8W1QecSLtqSciIlIClV1+MyI4t/Smu6fjTQX0EjdsMAX0HAYPxumll8plfiIiIiIiIiIiIlVVYGAgYWFhwO1behMU1BMRESkRY/nNalY3X+6htAw5BiKDEwBwb1H20puphw4RPXMWALUefBDXWTOxsCh7gFBEREREREREROR2YMxAvueee2jZsmUlz6bstKeeiIhICVRmpl5cVAppKZkAuDd3LNMY6WFhRE58DTIzqXa3B25ffI5FKTd9FhEREREREZGqLzU11fQ4PT33S8rZ2dlF9rGxscHWtnKqE4lUlKysLNLS0vD19eWXX34BYOTIkZU8q5ujoJ6IiEgJVGamXkRQbulNe6fq1HYu/WbkWQkJRIwdS05SElZ16uC+8Busqsgm3CIiIiIiIiJSvtq2bVvqPhMmTGDixIkV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hc5NRERERERE/jl+/PFH5syZg8FgMNtm3bp1zJ49m8zMzHzPnzt3jnPnzrF27VoWLlxI+/btC+2/YMECvvrqK3JycvI9HxoaSmhoKNu2baNZs2a0aNHCdOytt95ix44dBcaKjo4mOjqaX3/9lbFjxzJp0qTSXG6FmDVrFqtXr873XGZmJikpKVy4cIG9e/fi7OxM375987VJTU1lypQpBQJE6enpJCYmEhwczNatW/H39893PCEhgTFjxnDs2LF8z8fGxrJ9+3a2b9/O888/z8yZM7EsotKPv78/r7zyCqmpqWbbnDx5krFjxxIbG5vv+ejoaHx8fPD19WX69OkMHz7c7Bjm+Pn58eqrrxZ4PjExEX9/f/z9/fH29uaHH37Aycmp0DGOHTvGq6++Wuj8oqOj8ff3JykpiRkzZuQ7HhYWxrhx4wgLC8v3fGxsLLGxsQQGBhIWFsbXX39d6usqiZycHF577TW2bdtmtk2/fv24evVqvucyMzNN7xtvb2/mzZtHz549C+1f2vU1cOBAfv75ZyIiIggICDD7fk5OTja9N59++ukSX7OUnoJ6IiIixbgV5TcNOQZC/9pP767WxWfppezaRebFiwA4DX2+wuYlIiIiIiIi/yyhoaEEBATQuXNnxo0bh4eHB8nJyVy+fNnUZtu2bbzzzjsA9OjRg+HDh9OsWTMsLS05duwYn3/+OcHBwbz66qts3LixQEbUokWLmD9/PgD33nsvr7zyCq1bt6Z69epcunSJw4cPs379+gJzq1OnDi+++CIdO3akfv36ODs7k56eTnh4OP/973/x9fXlm2++4b777jMb1LgV/vjjD1NAr1+/fjz//PO4u7tTrVo1rly5wokTJ9i2bRtWVlb5+hkMBl5//XV+//13AJ544gmGDBmCh4cHFhYWhIWFsXfv3gJBH2O/Y8eOYWlpyYgRIxg4cCB169YlODiY7777jj/++IOVK1dSt27dQoNmRpMmTaJu3bp8+OGHtG/fHoPBQFBQkOl4REQEL774IsnJyTRr1owxY8bQtm1batasacrw27p1Kx999BENGzake/fupbp31tbWPProo/To0QMPDw+cnZ2pUaMGly9fZteuXfz4448EBQUxa9YsFixYUKB/WFgYI0eOJDU1FXt7e0aPHk3Pnj1xdnYmJSWFP//8k61bt+bLAAWIj49nxIgRxMTEYGtry4gRI+jTpw/169cnPT2d4OBg/Pz8igx23qy1a9dy+fJlXnjhBQYPHoyrqytRUVFUq/a/L37ffffddO3aldatW1OvXj2cnJxISkoiODiYJUuWEBgYyNSpU9m8eXOB911Z1td9993H3XffzZkzZ1i/fr3ZoN6vv/5Keno6NjY29O/fvwLujhgpqCciIlIMY6aerWXFBfVizl/lWlJu8LAkQb345SsAqPVwV2wbN66weYmIiIiIiNzODJmZZMZcLr7hbcTGpR4WNwQkylNcXBxdunThu+++MwWdnJycTCX9rl+/zqxZswB45pln+OCDD/L179GjBx07dmTw4MGcPXuWhQsX8q9//ct0PCIigi+++AKAhx9+mK+++gpb2//9vu3g4EDz5s0ZNmwY2dnZ+cZ+//33C51z/fr16dSpE25ubixatIjvv/++UoN6v/32G5AbsPzss8/yHXNwcKBp06Y8Vcg2Ghs3bjQFXF5//XXGjx+f77iTkxPt2rUrEJTbunUrBw8eBGDq1Km89NJLpmNt2rRh/vz5vPHGG/z2228sXLiQZ555xmxpVIPBwKpVq/KVBXVxcTE9fv/990lOTsbT05M1a9bkK4Pp4ODAl19+aSrlOnfuXLp161ZkycYbde/evdBAoJOTE82bN+exxx7Dy8uLHTt2cP78eRrf8DeR2bNnk5qaip2dHatWreLuu+82HatduzZubm48/vjjZGVl5ev36aefEhMTg7W1Nd99912B8qYuLi5069atQL/ydPnyZV577bV8r6+Dg0O+NitXrizQz9HRkcaNG/PYY48xfPhw/P39WbVqVYGM1bKurwEDBvDvf/+bLVu2MHPmzEJLnxqD8A8//LDZDEopHwrqiYiIFONWZOoZS2861a+Fg0vNItumnT7NtQMHctu/8EKFzUlEREREROR2ZsjM5FzffmSGh1f2VMqVTcOGNP3Ft0IDe2+++WaBLDIjX19fEhISsLe359133y20Tc2aNXnllVeYNm0amzdv5r333jMFdlatWkV2dja2trZ8/PHH+QJ6NzI3B3P69+/PokWLOHbsGNevX6dGjRql6l9ejMHI4vYUvNHy5csBaN68OePGjTPbzto6/5/1161bB0CjRo148cUXC7S3srLi3XffpVevXmRmZuLj48OoUaMKHXvUqFFm9/m7cOGCKWD5/vvvm93X7o03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V69eRS4TmpWVpR9++EG//vqrDh06pMuXL8vb21v+/v4KDg7Www8/rKZNmxZql5ycrPnz52vt2rU6ffq0cnJyVL9+fWYA+m8AACAASURBVHXq1ElPPfWUAmysuvPqq69q2bJl6tChg7766itt2bJFX331lfbu3avExET16dNH06ZNK9AmJiZGERER2rx5s86ePSuTySR/f3/dc889GjZsmHx9fYsc60oyMzO1fv16/f7779q7d69iY2OVnZ0tb29vtW7dWg8//LDuu+++K/Zz9uxZffXVV9q8ebO1Dz8/PwUEBKhr167q27evPDw8CrVLTEzUwoULtX79ep0+fVpGo1H16tVTo0aN1KVLFw0YMEDe3v/bqmTw4MH6448/FBoaWugeWWzbts36+lyzZo1uuOEGa1lMTIzuvfdeSdKCBQvUqlUrzZs3T7/++qtiYmJkNBoLtDl06JDWrl2rTZs26fjx40pJSZGHh4f1up544gnVvMLnNqV5fT344IM6ceKE+vfvr6lTp9rs02QyKSQkRHFxcXryySf1f//3f8XGgKqFpB4AAMWwJPVKO1MvN8ek/etjJUlNWtWRq5uzzGaz4qZOk8xmud98k7wHDiz3eAEAAAAAuJ6kpqZqyJAh2r9/f4Hzly5d0qVLl3T8+HH95z//UefOnQslv06ePKlRo0bp5MmTBc4nJCQoISFBu3fv1smTJzV79uwC5QcOHNCIESN04cKFAuejo6MVHR2tpUuX6q233lK/fv2KjX3+/PmaNm2azGazzTpLly7V66+/ruzs7ALnjx8/ruPHj+v777/Xp59+quDg4GLHKsqMGTMUERFR6HxCQoKioqIUFRWlPn366L333pPBYCiyj8WLF+vNN98sFJ/lXqxbt06+vr6FkoNRUVEaO3asUlNTC5yPiYlRTEyMtmzZImdnZw0dOrTU11USFy9e1IABA3Tq1Kkiyw8dOqS+ffsWOp+cnKy9e/dq7969+v777zVv3jybCdzSvr769++v999/X5GRkZo0aZKqV69eZL+bN29WXFyctQ2QH0k9AACKkZWbJal0M/XMZrOivj6kuJPJkqRb7mooSUr59VcZt2+XJNV79VUZXPhnGAAAAABgX3369FH37t117tw59erVS5L0+eeflymJdC3MnTtX+/fvl4uLi0aOHKkHHnjAmryLjY3Vn3/+qR9//LFQu8TERA0ZMkRxcXFyc3PTkCFD1LNnTzVs2FCZmZk6dOiQ1qxZo7S0tALtLl68qKefflqJiYny8vLSCy+8oG7duqlatWratWuXpk+frlOnTmn8+PHy9/fX7bffXmTcJ06c0M6dO9WpUyeNGjVKN910k1JSUhQfH2+t88svv+i1116TJHXt2lVPPvmkmjdvLicnJ+3Zs0cffvihDh06pLCwMK1YsUL169cv1b3z8vLSgAEDdOedd6pp06by9fWV2WxWbGysVqxYoe+//14rV65UUFBQodmZkvTTTz9p4sSJkqSAgACNHDlSt99+u7y8vHThwgX9+eefWrlyZaF2O3bsUFhYmHJzc+Xr66uRI0fqrrvuUu3atZWUlKQ9e/Zo1apVcnJyKtX1lMbUqVOVlpamV199Vffdd588PT118OBB1apVy1rnzjvv1H333acWLVqoXr16qlGjhhISErRt2zbNmzdPsbGxeumll7R06dJCSc+yvL769eun8PBwpaWl6ZdffikyqShJy5YtkyS1aNFCt9xyyzW4O6jM+DQRAIBilGX5ze0/ndThreclSR0eaqomrerIlJWl+PemS5JqhISoRufO5R8sAAAAAACl5OLiIhcXF1WrVs16rlq1avL09LRjVP+zfv16SXlLM44ePbpAmY+Pj4KCgjRkyJBC7aZPn664uDi5uLho7ty5uuOOOwqU+/n56Z577lFOTk6B87NmzVJiYqJcXFz0xRdfqG3bttay++67T+3bt1f//v11/vx5TZkypcikliRduHBBnTt31ty5c+Xs7GyNt0mTJpLy9jCcNGmSJOkf//iHpkyZUqB9165d1bFjRw0cOFDHjh3Tp59+qjfeeOOK9yu/0aNHKyMjQ5IK/P36+fnp1ltvVcuWLTVp0iR98cUXGjx4cIHEVWpqqnW8li1b6quvvlKNGjWs5bVq1VKzZs00cODAAvfQZDLptddeU25urho2bKhvv/1Wfn5+Bdo1adJEffr0KXTvy1NCQoIWLFigDh06WM91zvdZTIsWLfTll18Wale7dm01b95cPXr0UK9evXTgwAFt2bJFd955Z4F6ZXl9+fr66u6771ZUVJSWL19eZFIvNTVVv/32myQpNDS0bBeP69q1S4UDAHAdsMzUK+nymwc3n9P2/5ySJN1yZwMF9wyQJF1asEDZMTGSi4vqjRt3LUIFAAAA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RESEhg0bpvr165fqPhSlXr16uu222yRJc+bM0Zw5cxQdHa3ExEStW7dOgwYN0v79+20uWyqV/fWV34ABAyRJGzduVEpKilxcXNSnT5+rvj5c3xx+c5/4+HjNnTtXkhQSEqLw8HAZDAZJ0r333qvmzZurT58+unDhgj7//HONHz++VP1/88031m97TJs2rcDD/7nnnpO7u7vef/99LVu2TE8++WSRG4oCAK5flpl6lqTe2aOXtCYib9mJhjd7q0uIp2KeDVOq5ZtdTk6q/eij8n1+tJy9ve0SMwAAAAAA18rs2bO1bNmyQuczMjL0yCOPFDi3YMECdezY8arGM5vN2rRpkzZt2mSzTs+ePfXEE08UOOfj46OIiAg988wzio6O1meffabPPvusUNt77723wM916tTRv//9b40YMUIXLlzQlClTrMk3C1dXV7311lu6/fbbr+LKpAceeEAffPCBJkyYoKNHjxb72XZxCSZb9UePHq2PPvpI0dHRGjlyZIFyX19fffzxx+rVq5fNPnr37q3U1FS99dZbOnnypF555ZUi6w0ePLjAz8HBwZo5c6bGjh2r+Ph4m7Pe/n7/fHx8NH78eE2aNEnR0dF6+umnC5S3a9dOI0eOLHQtZTF58mQ9/vjjSk5OVnh4uMLDw61lBoNBr7zyig4fPmxzhmRZX1/5derUSf7+/oqNjZUkdenSRXXq1LnKK8P1zuGTesuXL7dujDlmzBhrQs+iUaNGGjhwoCIiIrR06VKNHTvWup5tSXzzzTeSpJYtWxa5KebQoUM1b948JSYm6rvvvmPGHgBUIWaz2bqnnpuzmy6dT9OqT/fJlGOWd71quj13g6L7fSFzdrYkyaNDB/n932uqFhhoz7ABAAAAALhu/PDDD9q0aZO2bdummJgYxcfHKzs7W3Xq1FGbNm0UGhqqbt26Fdm2adOm+umnn7R48WJFRkbqyJEjSktLk4+Pjxo2bKiQkBD17t27ULtWrVrp559/1vz587V27VpFR0crNzdXfn5+6tSpk4YNG2ZdYvJq9erVS3fccYcWLVqkDRs2KDo6WikpKapevboaNmyooKAg3XPPPda9A0vj2WefVaNGjbRw4UIdPnxYZrNZ9evXV9euXTV8+HDVrVv3in08+uij6ty5syIiIrR582adO3dOUt5st5tuukkPPvig7rrrrkLt7r33Xv36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\n",
      "text/plain": [
       "<Figure size 2160x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.log10(cs),cv_scores,label=\"cv_scores accuracy\")\n",
    "plt.plot(np.log10(cs),test_accuracy,label=\"test accuracy\")\n",
    "plt.plot(np.log10(cs),precision_score_accuracy,label=\"precision_score accuracy\")\n",
    "plt.plot(np.log10(cs),recall_score_accuracy,label=\"recall_score accuracy\")\n",
    "plt.plot(np.log10(cs),f1_score_accuracy,label=\"f1_score accuracy\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.xlabel(\"log(n)\")\n",
    "plt.legend()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据上图取参数值0.01"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Precision:0.737\n",
      "Recall:0.509\n",
      "f1:0.602\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    }
   ],
   "source": [
    "logisticRegression = LogisticRegression( C = 0.01,penalty = 'l2', solver = 'saga', random_state=1, max_iter=100, n_jobs = -1)\n",
    "logisticRegression.fit(X_train,y_train)\n",
    "score = logisticRegression.score(X_test,y_test)\n",
    "y_pred = logisticRegression.predict(X_test) \n",
    "print('Precision:%.3f'%precision_score(y_true=y_test,y_pred=y_pred))\n",
    "print('Recall:%.3f'%recall_score(y_true=y_test,y_pred=y_pred))\n",
    "print('f1:%.3f'%f1_score(y_true=y_test,y_pred=y_pred))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/usr/local/lib/python3.6/dist-packages/sklearn/model_selection/_split.py:2053: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(CV_WARNING, FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "scores: 0.7719869706840391\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import StratifiedKFold\n",
    "from sklearn.linear_model import LogisticRegressionCV\n",
    "from sklearn.pipeline import Pipeline\n",
    "\n",
    "cs = np.logspace(-5,5,100) \n",
    "logisticRegression = LogisticRegressionCV( Cs = cs, penalty = 'l2', solver = 'saga', random_state=1, max_iter=100, n_jobs = -1 )\n",
    "logisticRegression.fit( X_train, y_train )\n",
    "scores = logisticRegression.score( X_train, y_train )\n",
    "print( \"scores:\",scores )\n",
    "y_train_pred = logisticRegression.predict( X_train )\n",
    "y_test_pred = logisticRegression.predict( X_test )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
